This invention relates generally to improvements in digital versatile disc (DVD) systems and, more particularly, to playback of disc content by such systems. The invention may find application in a variety of other multimedia applications.
a) Digital Versatile Disc Systems
Digital versatile discs (DVDs) are information storage devices used for storing prerecorded audio information, video and other visual information, and computer software. The storage mechanism used in DVDs closely resembles that used in compact discs (CDs). DVD players also use the same laser technology as CD players. Briefly, both DVDs and CDs store information as a pattern of pits formed in a metallic substrate. The pit patterns form digital words and can be read by shining a laser beam on the disc surface and detecting the reflected beam. The information storage capacity of a typical DVD, however, is much higher than a CD. Presently available DVDs have a variety of capacities which depend on the technology used to manufacture the discs. Single-layer technologies can be either single or double-sided with current capacities of 4.7 gigabytes and 9.4 gigabytes, respectively. Dual layer technologies use single or double sided technologies that currently hold approximately 8.5 gigabytes per side.
DVDs can store information in several formats. DVD-VIDEO discs can store video information (e.g., movies, TV episodes, or music videos) using known information compression algorithms, such as MPEG-2 for video compression/decompression. DVD-ROM discs can store digital data in compressed form for computer use, though the format is usually significantly different from that found on DVD-VIDEO discs.
DVD-VIDEO players are often directed to the consumer market for entertainment use in homes, e.g., for high-resolution, high-fidelity playback of movies or music. DVD-VIDEO players have many CD player features, such as the ability to play selections in any order desired and the ability to read information from any point on the disc. Therefore, DVDs are finding a significant market as a preferred storage and playback system for a wide variety of multimedia.
Information concerning DVD-VIDEO content, discs and players, including (without limitation) data encoding/decoding, data formatting and structures, and navigation and playback, can be had with reference to the xe2x80x9cDVD 1.0 Specification for Read-Only Discxe2x80x9d, Vol. 3 (herein referred to as the xe2x80x9cDVD Specificationxe2x80x9d). The DVD Specification can be obtained, for example, from Toshiba Corp., 1xe2x80x941 Shibaura 1-Chome, Minato-ku, Tokyo 105-01 Japan.
The data on a DVD-VIDEO disc is organized into a hierarchical set of disc (or physical) data structures, and a corresponding, hierarchical set of presentation (or logical) data structures. The disc data structures contain DVD-VIDEO data arranged in a way closely linked to the physical location and arrangement of the data on the DVD-VIDEO discs. On the other hand, presentation data structures are independent of the physical order of the data on the disc and serve a role of providing navigational information that determines the presentation order of the DVD content. With this versatile arrangement, a DVD-VIDEO disc can contain multiple titles, and/or alternative playback sequences within a title, with the disc""s data shared among its different titles and playback sequences.
The multiple types or layers of presentation data structures are given below:
Disc Data Structures
Video Title Set (VTS)
Video Object Sets (VOBSs)
Video Objects (VOBs)
Cell Objects (cells)
Title is both a memory data structure and logical construct constituting a creative work stored on a DVD-VIDEO disc, such as an individual movie. A DVD-VIDEO title can contain up to 999 program chain objects (PGCs). PGCs can be used to create different versions (camera angles, ratings, outcomes, etc.) of the same title. Each PGC of a DVD-VIDEO links between zero and 99 related program objects, and governs the order in which its programs are to be played. A simple DVD-VIDEO title can contain only one PGC; however, complex titles can contain two or more PGCs to allow user access to and control of a variety of programs (i.e., interactive user control). A multiple-PGCs title can play programs sequentially, randomly (with program repeats), or in shuffle mode (without program repeats). Each program object, for example, a scene of a movie, is an ordered collection of pointers to cells. Individual cells may be used in more than one PGC, different PGCs defining different, alternative sequences through the DVD content. Additionally, a DVD-VIDEO title can have multiple Parts_of_Title (PTTs), each referencing a program object. PTTs are analogous to chapters of a book, and, e.g., can mark different scenes of a movie. PTTs divide a DVD-VIDEO title into a maximum of 99 different parts. Individual PTTs can be part of the same or different PGCS.
The multiple types or layers of presentation data structures are given below:
Presentation Data Structures
Title
PTT""(s)
Program Chain (PGC)
Program(s) (PGs)
Cells (pointers)
A video title set (VTS) is essentially analogous to a title and takes the form, on the disc, of a main directory called a VIDEO_TS directory. The VIDEO_TS directory references two types of files distinguished with the file extensions, .IFO and .VOB. A file with the .VOB extension consists of the VOBS data structure, which contains the actual multimedia data in a number of cells. A file with the .IFO extension contain navigational data structures and a processor-independent interpreted language that specifies how the VOBS data structures are arranged and where the associated data are located on the disc. During playback, a DVD-VIDEO player sorts the files on the disc to form a number of video title sets, for example, a number of movies. Each VTS is a grouping of all files on the disc necessary to play a particular title, and is composed of one .IFO file and one or more associated .VOB files containing pointers to a number of individual cells.
The disc structures and presentation structures are linked at the cell level. Each cell specifies, for example, all the video and audio data associated with a group of pictures in the VTS and may span multiple disc blocks. Essentially, a cell constitutes the smallest addressable chunk of data on the DVD-VIDEO disc. A cell is divided into VOBUs, each of which being a container object that includes both multimedia data and playback program commands in an interleaved format. VOBUs, in turn, are broken into packs of packets of compressed bits of video and audio data. Different packs contain data for specifying navigating order (NAV-PCKs) and subpictures, in addition to video (V-PCK) and audio (A-PCK). Each packet on a DVD-VIDEO disc consists of 2048 bytes from a single bitstream, aligned to a disc block.
While a VOBU is playing, the DVD-VIDEO player can obtain input directly from a user by means of controls, such as buttons, which can be displayed under playback program control onscreen along with the multimedia data. For example, user selection of a button can cause the playback program to jump to a new location on the disk and begin playback at the new location, Some DVD content is specifically designed for user-interactive operation, where users can actually change the flow of a video or movie, or change its ending, by user input specifying a different, particular PGC of the title. Such interactive operation results in a change in the order of playback of the individual cells forming the title.
b) Reading and Caching DVD Data During Playback
DVD systems require the ability to transfer large amounts of data from the disc to the playback system. Occasionally, interrupts occur that halt the transfer of data from disc to the system. These interrupts typically are brief and can be provided for by using memory cache techniques. Memory caching is well known in the computer arts as well as in the DVD Specification. A memory caching technique called a xe2x80x9cread aheadxe2x80x9d operation entails reading and retrieving data prior to the time it needs to be used, and storing the fetched data in a cache, so that the data is available even while further data transfers are halted during interrupt processing. A cache is a fast memory that provides quicker access to stored data than main storage locations provide.
Recently, content on DVD discs is being protected using encryption techniques to prevent copying. For example, the data can be encrypted using the Content Scrambling System (CSS) specified in the DVD Specification. Typically, the player must perform authentication steps or obtain a title key before a number of blocks can be read from the disc. A title key permits the player to read a selected number of titles, e.g., a single title. Unfortunately for read-ahead operations for caching, consecutive blocks on a disc can cross title boundaries. A title key is associated with each block, and entitles the player to read a single title. Because a conventional cache routine is not title-based, it may attempt to read beyond a title boundary and, if so, will fail.
Media-based caching systems using microcode on a DVD-ROM drive system do not have the same problems of reading across blocks over multiple titles since they are, in effect, pre-authorized to do so. Unfortunately, such caching systems typically have expensive non-expandable cache memories, which limits their use in certain DVD applications that require a large cache memory. For example, they are not suitable for DVD-VIDEO players intended for the consumer market, which have cache memories typically limited currently to only 32 or 64 KB.
Alternatively, for read ahead operations, a DVD player may be designed to read only a single block of a disc at a time. Such single block reads are disadvantageous because they generate excess interrupts (i.e., one interrupt per block). The player handles these interrupts with high priority, often preventing other tasks from running while block processing occurs.
Accordingly, it would be desirable to provide a multi-block read-ahead technique that does not read across title boundaries. Preferably, such a technique should be useable in DVD players having limited cache sizes.
The invention resides in a novel, multi-block, read-ahead technique, in which the DVD player reads and caches DVD data from a DVD source in response to navigation packs (NAV-PCKs) of individual VOBUs to avoid crossing title boundaries. Each VOBU has a NAV-PCK, which specifies the number of blocks in that VOBU. This information can guide the DVD player in performing read-ahead operations aligned to VOBUs, i.e., reading and caching data blocks separately for individual VOBUs. The invention takes advantage of the fact that data blocks within individual VOBUs do not cross title boundaries, and so read-ahead operations aligned to VOBUs avoid reading blocks that cross title boundaries.
More specifically, the read-ahead technique of an embodiment of the invention reads a plurality of blocks of the DVD disc, including a NAV-PCK, and then uses the NAV-PAK to guide future read operations so as to read only blocks of a current VOBU. Then, this process is repeated for other VOBUs of a title. Because only a limited number of blocks are placed in cache during each read-ahead operation, this technique can support a cache of small size, such as that found in current commercial DVD players. The cache can be of any size, however, so long as the cache is not larger than the total number of blocks in any VOBU of a title.
Since a plurality of disc blocks can be processed before generating an interrupt, the processor of the DVD player is free to perform other tasks, such as processing user interactions. This technique therefore results in faster read-ahead operations. For example, where the DVD player can perform 31 blocks reads, it is capable of running 31 times faster than a DVD player capable of only a single-block read.